Low bias estimation of small signal-to-noise ratio

ABSTRACT

A user equipment includes an estimator. The estimator is configured to select a first estimate of a signal-to-noise (SNR) ratio, calculate a first amplitude and first noise variance, calculate a second amplitude and a second noise variance, calculate a second SNR, calculate a resolution value, adjust the first SNR, and perform estimation iterations until the resolution value is equal to a predetermined value.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 10/867,508, filed Jun. 14, 2004 which is a continuation of U.S. patent application Ser. No. 10/269,606, filed Oct. 11, 2002 and issued on Jul. 6, 2004 as U.S. Pat. No. 6,760,370, which claims the benefit of U.S. Provisional Patent Application Ser. No. 60/369,655 filed Apr. 3, 2002, which are incorporated by reference as if fully set forth.

FIELD OF THE INVENTION

The invention relates to processing of communications signals. More particularly, the invention relates to the estimation of the communication signal power in terms of signal-to-noise ratio.

BACKGROUND OF THE INVENTION

In the field of communications, various types of systems use algorithms that depend on a signal-to-noise ratio (SNR) estimate for proper operation. Code division multiple access (CDMA) systems, such as time division duplex CDMA (TDD/CDMA) and time division synchronous CDMA (TDSCDMA) and frequency division duplex CDMA (FDD/CDMA) and CDMA 2000, use SNR estimation for power control to maintain the required link quality while using the minimum transmitted power. An asymmetric digital subscriber loop (ADSL) system uses SNR for the bit allocation algorithm to select the maximum transmission data rate. In turbo decoders, both the determined signal power and noise power are required. Rate adaptive transmission systems often use SNR to dynamically adapt the modulation scheme or the coding rate.

Several algorithms are known for performing SNR estimation. One such algorithm, the received data-aided (RXDA) estimation, is based on the following equation:

$\begin{matrix} {{SNR} = \frac{\left( {\frac{1}{N}{\sum\limits_{k = 1}^{N}{r_{k}}}} \right)^{2}}{{\frac{1}{N}{\sum\limits_{k = 1}^{N}r_{k}^{2}}} - \left( {\frac{1}{N}{\sum\limits_{k = 1}^{N}{r_{k}}}} \right)^{2}}} & {{Equation}\mspace{14mu} 1} \end{matrix}$ where r is the received signal vector and N is the number of sample points read by the receiver for the vector r.

Another known algorithm is the transmitted data-aided (TXDA) algorithm, which is represented by the equation:

$\begin{matrix} {{SNR} = \frac{\left( {\frac{1}{N}{\sum\limits_{k = 1}^{N}{r_{k}a_{k}}}} \right)^{2}}{{\frac{1}{N - 3}{\sum\limits_{k = 1}^{N}r_{k}^{2}}} - {\frac{1}{N\left( {N - 3} \right)}\left( {\sum\limits_{k = 1}^{N}{r_{k}a_{k}}} \right)^{2}}}} & {{Equation}\mspace{14mu} 2} \end{matrix}$

A third known algorithm for SNR estimation is represented as:

$\begin{matrix} {{SNR} = {\frac{N}{2}\left( {\sum\limits_{k = 1}^{N/2}\frac{\left( {{r_{{2k} - 1}} - {r_{2\; k}}} \right)^{2}}{r_{{2k} - 1}^{2} + r_{2k}^{2}}} \right)^{- 1}}} & {{Equation}\mspace{14mu} 3} \end{matrix}$

The algorithms for Equations 1 and 3 are performed blind without any pilot signal. In contrast, the TDXA algorithm uses a pilot signal with known training sequences, which provides enhanced performance. The drawback of TDXA is that additional equipment is required to process the training sequence. Although the RXDA and Equation 3 algorithms work well when the SNR is high, their performance suffers at low and negative SNRs, where they are known to have a high bias. This is problematic for various communication systems. For example, turbo code applications are known to experience negative ratios of symbol energy to noise density. In CDMA systems, the chip energy to noise density is often negative. Hence, there is a need to develop a blind SNR estimation method that works well at low and negative values without the benefit of a training sequence.

SUMMARY

An apparatus and method for low bias estimation of small or negative signal-to-noise ratio (SNR) for a communication signal is presented. The estimation is iterative and comprises choosing an initial minimum and maximum estimate of the signal amplitude and determining the mean thereof. Associated minimum and maximum noise variances are calculated based on the amplitude values. Using probability density, maximum likelihood estimates of the minimum, maximum and mean amplitudes are derived. Based on whether the mean amplitude estimate increases or decreases, the initial minimum or maximum estimate is set equal to the maximum likelihood mean amplitude, and the resolution between the new minimum and maximum estimates is determined. These steps are repeated until the resolution is within the acceptable limit, at which point the SNR is calculated from the mean amplitude.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a process flow diagram of method 100 for SNR estimation.

FIG. 2 shows a process flow diagram of method 200 for SNR estimation.

FIG. 3 shows a graph of calculated SNRs plotted against assumed SNRs using method 100.

FIG. 4 shows a comparison of mean SNR estimates of a BPSK signal performed by method 200, RXDA, TXDA and a third other algorithm, with sampling N=1024.

FIG. 5 shows a comparison of mean square errors (MSE) normalized to SNR of a BPSK signal, performed by method 200, RXDA, TXDA, a third algorithm and the Cramer-Rao (CR) bound, with sampling N=1024.

FIG. 6 shows a comparison of mean SNR estimates of an 8PSK signal performed by method 200, a decision directed algorithm, RXDA and TXDA, with sampling N=100.

FIG. 7 shows a comparison of mean square errors (MSE) normalized to SNR of an 8PSK signal performed by method 200, a decision directed algorithm, RXDA, TXDA and the Cramer-Rao (CR) bound, with sampling N=100.

FIG. 8 shows a comparison of mean SNR estimates of an 8PSK signal performed by method 200, a decision directed algorithm, RXDA and TXDA, with sampling N=1024.

FIG. 9 shows a comparison of mean square errors (MSE) normalized to SNR of an 8PSK signal performed by method 200, a decision directed algorithm, RXDA, TXDA and the Cramer-Rao (CR) bound, with sampling N=1024.

FIG. 10 shows a comparison of mean SNR estimates of a 16PSK signal performed by method 200, a decision directed algorithm, RXDA and TXDA, with sampling N=100.

FIG. 11 shows a comparison of mean square errors (MSE) normalized to SNR of a 16PSK signal performed by method 200, a decision directed algorithm, RXDA, TXDA and the Cramer-Rao (CR) bound, with sampling N=100.

FIG. 12 shows a comparison of mean SNR estimates of a 16PSK signal performed by method 200, a decision directed algorithm, RXDA and TXDA, with sampling N=1024.

FIG. 13 shows a comparison of mean square errors (MSE) normalized to SNR of a 16PSK signal performed by method 200, a decision directed algorithm, RXDA, TXDA and the Cramer-Rao (CR) bound, with sampling N=1024.

FIG. 14 shows a convergence of estimation iterations for several trials of method 200.

FIG. 15 shows a system for communications between a base station and user equipments employing SNR estimation methods 100 and 200.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

For a BPSK modulated signal, the time and carrier phase synchronization can be obtained so the received samples can be expressed as: r _(k) =s _(k) +n _(k),  Equation 4 where s_(k) is the transmitted signal taking amplitude values from {−A, A} with equal probability and n_(k) is real additive white Gaussian noise with variance of σ². In order to determine the unknown value A, a probability density function is a preferred technique. The probability density function of r_(k) can be expressed as:

$\begin{matrix} {{{f\left( r_{k} \right)} = {\frac{1}{2}\left\{ {{f_{+}\left( r_{k} \right)} + {f_{-}\left( r_{k} \right)}} \right\}}}{where}} & {{Equation}\mspace{14mu} 5} \\ {{{f_{+}\left( r_{k} \right)} = {\frac{1}{\sqrt{{2\pi}\;}\sigma}{\mathbb{e}}^{- \frac{{({r_{k} - A})}^{2}}{2\;\sigma^{2}}}}}{and}} & {{Equation}\mspace{14mu} 6} \\ {{f_{-}\left( r_{k} \right)} = {\frac{1}{\sqrt{2\pi}\sigma}{{\mathbb{e}}^{- \frac{{({r_{k} + A})}^{2}}{2\;\sigma^{2}}}.}}} & {{Equation}\mspace{14mu} 7} \end{matrix}$

For a received sample of consecutive symbols of length N (r₁, r₂, . . . , r_(N)), the probability density function can be expressed as:

$\begin{matrix} {{f_{N}\left( {r_{1},r_{2},\ldots\mspace{14mu},r_{N}} \right)} = {\prod\limits_{k = 1}^{N}\;{f\left( r_{k} \right)}}} & {{Equation}\mspace{14mu} 8} \end{matrix}$

An equation for amplitude A which maximizes the probability function can be determined by taking the partial derivative of Equation 8 with respect to amplitude A, and setting the partial derivative equal to zero:

$\begin{matrix} {\frac{\partial{f_{N}\left( {r_{1},r_{2},\ldots\mspace{14mu},r_{N}} \right)}}{\partial A} = 0} & {{Equation}\mspace{14mu} 9} \end{matrix}$ The determination of a maximum likelihood estimate of A is then the solution to Equation 10:

$\begin{matrix} {{A = {\frac{1}{N}{\sum\limits_{k = 1}^{N}{r_{k}{{th}\left( \frac{{Ar}_{k}}{\sigma^{2}} \right)}}}}}{where}} & {{Equation}\mspace{14mu} 10} \\ {{{th}(x)} = {\frac{{\mathbb{e}}^{x} - {\mathbb{e}}^{- x}}{{\mathbb{e}}^{x} + {\mathbb{e}}^{- x}}.}} & {{Equation}\mspace{14mu} 11} \end{matrix}$

Since the SNR is unknown, it may possibly be high or low. If the SNR is high, an acceptable approximation for value th can be made as follows:

$\begin{matrix} {{{th}\left( \frac{{Ar}_{k}}{\sigma^{2}} \right)} \cong \left\{ \begin{matrix} {{+ 1},{r_{k} > 0}} \\ {{- 1},{r_{k} < 0}} \end{matrix} \right.} & {{Equation}\mspace{14mu} 12} \end{matrix}$

The decision-directed amplitude estimate is then:

$\begin{matrix} {\hat{A} = {\frac{1}{N}{\sum\limits_{k = 1}^{N}{r_{k}}}}} & {{Equation}\mspace{14mu} 13} \end{matrix}$

The noise power can be estimated as total power minus the signal power, and the SNR can therefore be estimated as:

$\begin{matrix} {{SNR} = \frac{\left( {\frac{1}{N}{\sum\limits_{k = 1}^{N}{r_{k}}}} \right)^{2}}{{\frac{1}{N}{\sum\limits_{k = 1}^{N}r_{k}^{2}}} - \left( {\frac{1}{N}{\sum\limits_{k = 1}^{N}{r_{k}}}} \right)^{2}}} & {{Equation}\mspace{14mu} 14} \end{matrix}$

In an alternative embodiment, for a signal in which the time synchronization and the carrier phase synchronization have been obtained for MPSK modulation, the value s_(k) of Equation 4 is the transmitted M-ary PSK signal, represented as: Ae ^(j2πk/M) , k=0, 1, . . . M−1  Equation 15 with equal probability of 1/M and A as the amplitude of MPSK signal s_(k). Value n_(k) from Equation 4 is the complex additive white Gaussian noise with variance of 2σ². The probability density function of r_(k), where r _(k) =x _(k) +jy _(k)  Equation 16 can be expressed as:

$\begin{matrix} {{{f\left( {x_{k},y_{k}} \right)} = {\frac{1}{M}{\sum\limits_{l = 0}^{M - 1}{\frac{1}{\sqrt{2\pi\;\sigma}}\exp\left\{ {- \frac{\left( {x_{k} - {X_{l}A}} \right)^{2} + \left( {y_{k} - {Y_{l}A}} \right)^{2}}{2\;\sigma^{2}}} \right\}}}}}\mspace{20mu}{where}} & {{Equation}\mspace{14mu} 17} \\ {\mspace{85mu}{{X_{l} + {j\; Y_{l}}} = {\mathbb{e}}^{{j\; 2\pi\;{l/M}}\;}}} & {{Equation}\mspace{14mu} 18} \end{matrix}$ and j=√{square root over (−1)}. For a received sample of consecutive MPSK symbols of length N (r₁, r₂, . . . , r_(N)), the probability density function can be expressed as:

$\begin{matrix} {{f_{N}\left( {r_{1},r_{2},\ldots\mspace{14mu},r_{N}} \right)} = {\prod\limits_{k = 1}^{N}\;{f\left( {x_{k},y_{k}} \right)}}} & {{Equation}\mspace{14mu} 19} \end{matrix}$ Using Equation 9, the partial derivative of Equation 19 with respect to amplitude A is performed and set to zero, resulting in the following equation:

$\begin{matrix} {{\sum\limits_{k = 1}^{N}\frac{{\partial{f\left( {x_{k},y_{k}} \right)}}/{\partial A}}{f\left( {x_{k},y_{k}} \right)}} = 0} & {{Equation}\mspace{14mu} 20} \end{matrix}$ According to Equation 20, the equation for amplitude A which maximizes the probability function is derived and expressed as follows:

$\begin{matrix} {A = {\frac{1}{N}{\sum\limits_{k = 1}^{N}\frac{\sum\limits_{l = 0}^{M - 1}{\left\lbrack {{x_{k}X_{l}} + {y_{k}Y_{l}}} \right\rbrack\exp\left\{ \frac{\left( {{x_{k}X_{l}} + {y_{k}Y_{l}}} \right)A}{\sigma^{2}} \right\}}}{\sum\limits_{l = 0}^{M - 1}{\exp\left\{ \frac{\left( {{x_{k}X_{l}} + {y_{k}Y_{l}}} \right)A}{\sigma^{2}} \right\}}}}}} & {{Equation}\mspace{14mu} 21} \end{matrix}$ If the actual SNR is high, an acceptable decision-directed amplitude estimation is then:

$\begin{matrix} {\hat{A} \approx {\frac{1}{N}{\sum\limits_{k = 1}^{N}\left\lbrack {{x_{k}{\hat{X}}_{k}} + {y_{k}{\hat{Y}}_{k}}} \right\rbrack}}} & {{Equation}\mspace{14mu} 22} \end{matrix}$ where ({circumflex over (X)}_(k), Ŷ_(k)) is the estimated signal that maximizes X_(l) and Y_(l):

$\begin{matrix} {\left( {{\hat{X}}_{k},{\hat{Y}}_{k}} \right) = {\arg\left\{ {\max\limits_{X_{l},Y_{l}}\left\{ {{{x_{k}X_{l}} + {y_{k}Y_{l}}},{l = {0,1}},\ldots\mspace{14mu},{M - 1}} \right\}} \right\}}} & {{Equation}\mspace{14mu} 23} \end{matrix}$

A method 100 for an iterative SNR estimation for a BPSK signal using Equation 10 is shown in FIG. 1. Given an amplitude estimate A₀ and a noise variance estimate σ₀ ², a new amplitude estimate A₁ is calculated by Equation 24, which is based on Equation 10:

$\begin{matrix} {{A_{1} = {\frac{1}{N}{\sum\limits_{k = 1}^{N}{r_{k}{{th}\left( \frac{A_{0}r_{k}}{\sigma_{0}^{2}} \right)}}}}},} & {{Equation}\mspace{14mu} 24} \end{matrix}$ and a new noise variance estimate σ₁ ² by:

$\begin{matrix} {\sigma_{1}^{2} = {{\frac{1}{N}{\sum\limits_{k = 1}^{N}r_{k}^{2}}} - A_{1}^{2}}} & {{Equation}\mspace{14mu} 25} \end{matrix}$

As the method is updated, A₀ ²/σ₀ ² converges to A₁ ²/σ₁ ². Since the SNR to be estimated is unknown, an initial SNR is assumed (step 101), denoted as: SNR ₀ =A ₀ ²/σ₀ ²  Equation 26 In step 102, corresponding values for A₀ and σ² are calculated as:

$\begin{matrix} {{A_{0} = \sqrt{\frac{{SNR}_{0}}{1 + {SNR}_{0}}}}{and}} & {{Equation}\mspace{14mu} 27} \\ {\sigma_{0}^{2} = {\frac{1}{1 + {SNR}_{0}}.}} & {{Equation}\mspace{14mu} 28} \end{matrix}$

Next in step 103, Equations 24 and 25 are used to calculate A₁, σ₁ ², and SNR₁ is calculated in step 104 by Equation 29: SNR ₁ =A ₁ ²/σ₁ ²  Equation 29

Step 105 performs a decision as to whether estimate SNR₀ is within a predetermined acceptable resolution compared to the calculated SNR₁. If the resolution is acceptable, then SNR₀ can be accepted as the final estimate (step 107). Otherwise, SNR₀ is adjusted (step 106) and the process repeats starting at step 102. As an example with a predetermined acceptable resolution of 0.1 dB as the benchmark, steps 102 through 106 are repeated until the difference between calculated SNR₁ and estimate SNR₀ is less than or equal to 0.1 dB. Alternatively, steps 102 through 106 are repeated for a predetermined number of times before bringing an end to the estimation process (step 107), and accepting the resulting estimate value, regardless of the intermediate resolutions.

A similar method for MPSK signals can be performed by replacing Equation 24 in step 103 with Equation 30, which is based on Equation 21, to calculate amplitude A₁:

$\begin{matrix} {A_{1} = {\frac{1}{N}{\sum\limits_{k = 1}^{N}\frac{\sum\limits_{l = 0}^{M - 1}{\begin{bmatrix} {{x_{k}X_{l}} +} \\ {y_{k}Y_{l}} \end{bmatrix}\exp\left\{ \frac{\left( {{x_{k}X_{l}} + {y_{k}Y_{l}}} \right)A_{0}}{\sigma_{0}^{2}} \right\}}}{\sum\limits_{l = 0}^{M - 1}{\exp\left\{ \frac{\left( {{x_{k}X_{l}} + {y_{k}Y_{l}}} \right)A_{0}}{\sigma_{0}^{2}} \right\}}}}}} & {{Equation}\mspace{14mu} 30} \end{matrix}$

FIG. 3 shows curves of calculated SNRs versus assumed SNRs for twenty 1024-point sample vectors each with a real SNR of 3 dB. Each curve crosses the straight line “calculated SNR=assumed SNR” at one point. The crossing point is the estimated SNR for a converged method. It is noteworthy that the crossing points are concentrated around the true SNR of 3 dB. Variations among the 20 curves are due to the random nature of the noise component during each trial. The calculated values vary approximately between −1 dB and +0.5 dB. When the assumed SNR value is greater than the actual SNR, the calculated SNR value is less than the assumed value. This relationship is useful for quick convergence as each successive assumed SNR value can properly be increased or reduced accordingly.

An alternative method is to iteratively solve for amplitude A, then to compute the SNR estimate upon convergence, as shown by flow diagram of method 200 in FIG. 2. In Step 201, the received vector is normalized such that:

$\begin{matrix} {{\frac{1}{N}{\sum\limits_{k = 1}^{N}r_{k}^{2}}} = 1} & {{Equation}\mspace{14mu} 31} \end{matrix}$ Assumed minimum and maximum amplitudes of interest A_(min) and A_(max) are selected, and a predetermined resolution Δ is selected. Values A₀ and A₁ are initialized as follows: A₀=A_(min) and A₁=A_(max).

In steps 202 and 203, the mean of A₀ and A₁ is calculated by: A _(m)=(A ₀ +A ₁)/2  Equation 32 and the corresponding noise variances are determined by: σ₀ ²=1−A ₀ ²  Equation 33 σ₁ ²=1−A ₁ ²  Equation 34 σ_(m) ²=1−A _(m) ²  Equation 35

In step 204, three estimated amplitude values, A′₀, A′₁ and A′_(m) are calculated using Equation 24 by substituting the initial amplitude values A₀, A₁ and A_(m), for A₀ in Equation 24 and initial noise variances σ₀, σ₁ and σ_(m), respectively, for σ₀ in Equation 24.

For step 205, if A_(m)>A′_(m), then the maximum amplitude A₁ is updated as follows: A₁=A′_(m). Otherwise, the minimum amplitude A₀ is updated: A₀=A′_(m). In an alternative embodiment for step 205, if A_(m)>A′_(m), then amplitude A₁ can be updated so that A₁=A_(m); otherwise the minimum amplitude A₀ is updated: A₀=A_(m).

For step 206, the resolution Δ is evaluated. If A₁−A₀<Δ, then the estimated amplitude is the updated value A_(OUT)=(A₀+A₁)/2 with either A₀ or A₁ as updated amplitude values from step 205. The final estimated signal-to-noise ratio SNR_(OUT) is calculated from the estimated amplitude value A_(OUT) as follows: SNR_(OUT)=A_(OUT) ²/(1−A_(OUT) ²). Otherwise the process is repeated by returning to step 202 and repeating the steps through step 206 until an acceptable resolution Δ is achieved.

As with method 100, method 200 can be modified to accommodate an MPSK signal. This is achieved by calculating amplitude estimates A′₀, A′₁ and A′_(m) using Equation 30 instead of Equation 24 in step 204.

The lower bias of method 200 can be seen in FIGS. 4-13 in which the mean SNR and normalized mean square error (MSE) results are compared against various SNR algorithms. Simulation results for the iterative SNR estimation method 200 are graphically compared to the RXDA, the TXDA, and the Equation 3 SNR estimation algorithms as shown in FIGS. 4-5. As aforementioned, the TXDA algorithm is based on exact knowledge of the received data, which is only applicable to known training sequences. The TXDA curve is therefore shown as a baseline for comparison purposes.

FIG. 4 shows means of the various SNR estimations generated using a received vector of 1024 samples (N=1024) versus the actual SNR. The iterative SNR estimation method 200 has a lower bias (excepting the known data case) and the useful range extends down to about −5 dB. For comparison, the useful range in each case for RXDA and Equation 3 algorithms only extends down to about 8 dB.

FIG. 5 shows the normalized mean square error (MSE) of the SNR estimations where N=1024 and also shows the Cramer-Rao (CR) bound that is lower bounded by

${CR} \geq {2{\left\{ {\frac{2}{A^{2}N} + \frac{1}{N}} \right\}.}}$ The estimation by method 200 produces results having a lower normalized MSE than that for RXDA and Equation 3.

FIGS. 6-9 show mean and MSE results of method 200 compared with RXDA, TXDA, and decision-directed for an 8PSK signal. Comparison of FIGS. 6, 7 to FIGS. 8, 9 show the improvement in mean and MSE versus SNR by method 200 when the sample length is increased from N=100 to N=1024, respectively. It should be noted that improvements are evident for method 200 whereas those for Equations 1 and 3 show no improvement.

Similarly, FIGS. 10-11 show mean and MSE results for a 16PSK signal for N=100 and FIGS. 12, 13 show mean and MSE results for a 16PSK signal for N=1024 with similar results.

FIG. 14 shows several trajectories of convergence within 9 iterations for method 200. In general, the number of iterations depends on A_(min), A_(max) and the resolution Δ. In this example, A_(min)=0.001, A_(max)=0.999 and Δ=0.0002. As shown in FIG. 14, the estimated SNR stabilizes after 7 iterations and by the 9^(th) iteration, A₁−A₀<Δ, and the estimation is finished.

FIG. 15 shows an embodiment for using methods 100 and 200, comprising a system for wireless communications, such as CDMA, with base station 301 and user equipments (UEs) 302-305. Base station 301 and (UEs) 302-305 each include an SNR estimator which performs the low bias SNR estimation method 200. Improved SNR estimation provides several advantages for base station and UE performance. For instance, improved SNR estimation for a UE is enhanced power control from having more accurate assessment of the required uplink power. At the base station, improved channel selection results from better SNR estimation. 

1. A user equipment (UE) comprising: an estimator configured to: select a first estimate of a signal-to-noise ratio (SNR); calculate an amplitude value based on a probability density and a noise variance based on the amplitude value; calculate a second SNR based on the amplitude value and the noise variance; calculate a resolution value based on the difference between the first SNR estimate and the second SNR; adjust the first SNR estimate; and perform estimation iterations until the resolution value is equal to a predetermined value.
 2. The estimator as in claim 1 wherein the estimation iterations are based on the adjusted first SNR.
 3. The estimator as in claim 1 wherein the estimator is configured to perform a low-biased estimation of a SNR of a sequence of received BPSK communication symbols.
 4. The estimator as in claim 1 wherein the estimator is configured to perform a low-biased estimation of a SNR of a sequence of received M-ary PSK communication symbols, where M represents a quantity of phases for PSK. 